package com.xiumiing.net.base.net.service;


import com.xiumiing.net.base.net.bean.ResultEntity;
import com.xiumiing.net.bean.SchoolBean;

import java.util.List;

import io.reactivex.Observable;
import okhttp3.RequestBody;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.Headers;
import retrofit2.http.POST;
import retrofit2.http.Query;

/**
 * @author Created by Jeff
 * on 2019/7/3.
 * des:学校接口
 */
public interface SchoolService {

    /**
     * 开放的学校列表
     */
    @GET("user/api/v1/university/generalize/list")
    Observable<ResultEntity<List<SchoolBean>>> requestOpenSchools();
//
//    /**
//     * 学校人数
//     *
//     * @param schoolId 学校Id
//     */
//    @GET("user/api/v1/university/number/people")
//    Observable<ResultEntity<RecommendSchoolBean>> requestSchoolPeopleNumber(@Query("schoolId") String schoolId);
//
//
//    /**
//     * 首页推荐的学生
//     *
//     * @param schoolId     学校Id
//     * @param departmentId 学院Id
//     * @param gradeId      年级Id
//     * @param size         数据大小
//     */
//    @GET("user/api/v1/school/partner/recommend/students")
//    Observable<ResultEntity<List<StudentBean>>> requestSchoolMateList(@Query("schoolId") String schoolId,
//                                                                      @Query("departmentId") String departmentId,
//                                                                      @Query("gradeId") String gradeId,
//                                                                      @Query("size") int size);
//
//
//    /**
//     * 学员 列表
//     *
//     * @param schoolId     学校Id
//     * @param departmentId 学院Id
//     * @param gradeId      年级Id
//     * @param lastUserId   最后一条Id
//     * @param page         page
//     * @param userType     首次进入不传值，后续根据返回数据传递
//     */
//    @GET("/user/api/v1/school/partner/students")
//    Observable<ResultEntity<List<StudentBean>>> requestSchoolMember(@Query("schoolId") String schoolId,
//                                                                    @Query("departmentId") String departmentId,
//                                                                    @Query("gradeId") String gradeId,
//                                                                    @Query("lastUserId") String lastUserId,
//                                                                    @Query("userType") int userType,
//                                                                    @Query("page") int page);
//
//    /**
//     * 学校 说说 详情
//     *
//     * @param eventId 学校 说说 Id
//     */
//    @GET("event/api/v1/bsEventSchoolTopic/detail/info")
//    Observable<ResultEntity<SchoolTalkEventBean>> requestSchoolTalkDetail(@Query("eventId") String eventId);
//
//    /**
//     * 学校 说说 列表
//     *
//     * @param lastEventId 列表最后一条 学校 说说 Id
//     */
//    @GET("/event/api/v1/bsEventSchoolTopic/event/list")
//    Observable<ResultEntity<List<SchoolTalkEventBean>>> requestSchoolTalkList(@Query("schoolId") String schoolId,
//                                                                              @Query("sort") String sort,
//                                                                              @Query("page") int page,
//                                                                              @Query("lastEventId") String lastEventId);
//
//    /**
//     * 我的 学校 说说 列表
//     *
//     * @param lastEventId 列表最后一条 学校 说说 Id
//     */
//    @GET("event/api/v1/bsEventSchoolTopic/my/event/list")
//    Observable<ResultEntity<List<SchoolTalkEventBean>>> requestMySchoolTalkList(@Query("lastEventId") String lastEventId);
//
//    /**
//     * 说说 评论 取消点赞
//     *
//     * @param body{ eventId 动态Id
//     *              id      评论Id
//     *              }
//     */
//    @POST("event/api/v1/bsEventComment/cancelLike")
//    Observable<ResultEntity<ResultData>> schoolTalkCommentCancelLike(@Body RequestBody body);
//
//    /**
//     * 说说 评论 点赞
//     *
//     * @param body{ eventId 动态Id
//     *              id      评论Id
//     *              }
//     */
//    @POST("event/api/v1/bsEventComment/like")
//    Observable<ResultEntity<ResultData>> schoolTalkCommentLike(@Body RequestBody body);
//
//    /**
//     * 校园匿名说-阅读
//     *
//     * @param body{ [ eventId, eventId, eventId ]}
//     */
//    @Headers({"Content-Type:application/json"})
//    @POST("event/api/v1/bsEventSchoolTopic/event/read")
//    Observable<ResultEntity<ResultData>> schoolTalkReaded(@Body RequestBody body);
//
//    /**
//     * 关注校园说
//     *
//     * @param body{eventId 动态id}
//     */
//    @POST("event/api/v1/school/attention/save")
//    Observable<ResultEntity<ResultData>> subscribeSchoolTalk(@Body RequestBody body);
//
//    /**
//     * 取消关注校园说
//     *
//     * @param body{eventId 动态id}
//     */
//    @POST("event/api/v1/school/attention/remove")
//    Observable<ResultEntity<ResultData>> unSubscribeSchoolTalk(@Body RequestBody body);
//
//    /**
//     * 查询学校信息
//     *
//     * @param schoolId 学校id
//     */
//    @GET("user/api/v1/university/anonymityNotice")
//    Observable<ResultEntity<SchoolBean>> requestAnonymityNotice(@Query("schoolId") String schoolId);
//
//
//    /**
//     * 活动banner图
//     * 2019/08/12  --Jeff
//     *
//     * @param schoolId 学校Id
//     */
//    @GET("activity/api/v1/activityBanner/list")
//    Observable<ResultEntity<List<BannerBean>>> getBannerList(@Query("schoolId") String schoolId);
//
//    /**
//     * 群聊圈子列表
//     * 2019/08/12  --Jeff
//     * @param type     查询类型,0发现页，1发布页。默认发现页
//     * @param schoolId 学校Id
//     */
//    @GET("event/api/v1/cluster/list")
//    Observable<ResultEntity<List<CircleDetail>>> getCircleList(@Query("type") int type, @Query("schoolId") String schoolId);
//
//    /**
//     * 发现页主题列表
//     *  2019/08/12  --Jeff
//     *
//     * @param universityId 学校Id
//     */
//    @GET("/event/api/v2/discover/subjects")
//    Observable<ResultEntity<List<Subject>>> discoverSubject(@Query("universityId") String universityId);
//
//
//    /**
//     * 查询评论列表
//     * 2019/09/06  --Jeff
//     *
//     * @param eventId 动态Id
//     */
//    @GET("event/api/v1/story/hot/comment")
//    Observable<ResultEntity<List<BsEventCommentST>>> findHotComment(@Query("eventId") String eventId);
//
//    /**
//     * 查询评论列表
//     * 2019/03/19  --Jeff
//     *
//     * @param eventId 动态Id
//     * @param page    页数
//     */
//    @GET("event/api/v1/bsEventComment/findComment")
//    Observable<ResultEntity<List<BsEventCommentST>>> findComment(@Query("eventId") String eventId,
//                                                                 @Query("page") int page,
//                                                                 @Query("specialBlank") int specialBlank);
//
//    /**
//     * 查询评论的二级分页
//     * 2019/04/08  --Jeff
//     *
//     * @param parentId      最后一条评论的评论Id
//     * @param lastCommentId 此二级评论的父评论Id,即对应的一级评论Id
//     */
//    @GET("event/api/v1/bsEventComment/findPageComment")
//    Observable<ResultEntity<BsEventCommentST>> findPageComment(@Query("parentId") String parentId,
//                                                               @Query("lastCommentId") String lastCommentId,
//                                                               @Query("specialBlank") int specialBlank);
//
//    /**
//     * 评论
//     * 2019/03/21  --Jeff
//     *
//     * @param requestBody{ eventId         [string]	是	动态Id
//     *                     CommentContent  [string]	是	评论内容
//     *                     beCommentUserId [string]		被评论人用户Id
//     *                     parentId        [string]		被评论的评论的Id
//     *                     }
//     */
//    @POST("event/api/v1/bsEventComment/insert")
//    Observable<ResultEntity<List<BsEventCommentST>>> insertComment(@Body RequestBody requestBody);
//
//    /**
//     * 删除评论
//     * 2019/03/21  --Jeff
//     *
//     * @param requestBody{ eventId  [string]	是	动态Id
//     *                     id       [string]	是	删除的评论的评论Id
//     *                     }
//     */
//    @POST("event/api/v1/bsEventComment/delete")
//    Observable<ResultEntity<ResultData>> deleteComment(@Body RequestBody requestBody);

}
